5 REM COPYRIGHT 1995 - COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 10 DC=1 20 SPACE$="" 30 CUR=1 40 D$="DISCRETE " 50 C$="CONTINUOUS" 60 PRINTCHR$(147) 70 REM THE VALUE OF MONEY 80 POKE 53280,0:POKE53281,0 90 PRINT"[176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]":N=1:GOSUB 100:GOTO 130 100 FORI=1TON 110 PRINT"[194]";SPACE$;"[194]" 120 NEXT I :RETURN 130 PRINT"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]" 140 N=16:GOSUB 100 150 PRINT"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]" 160 N=1:GOSUB 100 170 PRINT"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]":PRINT"[145][145][159]C[146]OMPOUNDING: "; 180 REM 190 PRINT""; 200 IF DC=1 THENPRINT"";D$ 210 IF DC=0 THENPRINT"";C$ 220 PRINT"[159]THE VALUE OF MONEY" 230 IFCUR=1THENPRINT" *COMPOUND AMOUNT *":GOTO250 240 PRINT" COMPOUND AMOUNT" 250 PRINT" PRESENT WORTH" 260 PRINT" SINKING FUND FACTOR" 270 PRINT" SERIES COMPOUND AMOUNT" 280 PRINT" CAPITAL RECOVERY" 290 PRINT" [160] SERIES PRESENT WORTH" 300 PRINT" ARITHMETIC GRADIENT" 310 PRINT"Q[146]UITH[146]ELPSPACE[146]" 320 A=0:G=0:P=0:F=0:REM THESE ARE RESET-IF NOTHING IS ENTERED,GOES BACK TO MENU 330 GETA$:IFA$<>"" ANDA$<>"[145]"ANDA$<>"H"ANDA$<>"Q"ANDA$<>" "ANDA$<>"C"THEN 330 340 IFA$="C" ORA$="Q"ORA$=" " THEN GOSUB 570 350 IFA$="C"ANDDC=1THENDC=0:GOTO180 360 IFA$="C" ANDDC=0THENDC=1:GOTO180 370 IF A$="H" THEN GOSUB 1930 380 IF A$="Q" THEN END 390 IF A$="[145]" AND CUR>1 THEN CUR=CUR-1:GOSUB430:GOSUB480:GOTO180 400 IFA$=" "THEN GOSUB 590:GOTO 180 410 IFA$=""AND CUR<7THEN CUR=CUR+1:GOSUB430:GOSUB480:GOTO180 420 GOTO 330 430 REM CLEAR ASTERISKS 440 PRINT"  " 450 FORT=1TO6:PRINT"  " 460 NEXT T 470 RETURN 480 REM PUT ASTERISKS UP 490 IF CUR<>1 THEN PRINT"":GOTO 510 500 PRINT"**" 510 FORT=2TO7 520 IF T=CURTHEN PRINT"**":GOTO 540 530 PRINT"  " 540 NEXT T 550 REM BELL ROUTINE 560 RETURN 570 POKE54296,21:POKE54277,9:POKE54278,0:POKE54273,48:POKE54276,32:POKE54276,33 580 RETURN 590 REM CALCULATION ROUTINE 600 PRINTCHR$(147) 610 IF CUR=1THENGOTO680 620 IF CUR=2THENGOTO840 630 IF CUR=3THENGOTO1000 640 IF CUR=4THENGOTO1160 650 IF CUR=5THENGOTO1360 660 IF CUR=6THENGOTO1520 670 IF CUR=7THENGOTO1720 680 REM 690 PRINT"COMPOUND AMOUNT: "; 700 IFDC=1THEN PRINTD$;"" 710 IFDC<>1THENPRINTC$;"" 720 INPUT"PRESENT AMOUNT ($): ";P:PRINT 730 IFP=0THEN GOTO20 740 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 750 INPUT"TIME PERIOD: ";PER 760 IF DC=1 THEN F=P*((1+PR/100)^PER) 770 IFDC<>1 THENR=(PR/100) 780 IFDC<>1 THEN F=P*(EXP(R*PER)*EXP(R)-1)/(R*EXP(R)) 790 PRINT"THE FUTURE WORTH[160](COMPOUND AMOUNT) IS" 800 PRINT "$";F 810 PRINT"PRESS ANY KEY TO CONTINUE" 820 GETA$:IFA$=""THEN820 830 GOTO20 840 REM 850 PRINT"PRESENT WORTH: "; 860 IFDC=1THEN PRINTD$;"" 870 IFDC<>1THENPRINTC$;"" 880 INPUT"FUTURE AMOUNT ($): ";F:PRINT 890 IF F=0THEN GOTO20 900 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 910 INPUT"TIME PERIOD: ";PER 920 IF DC=1 THEN P=F/((1+PR/100)^PER) 930 IFDC<>1 THENR=(PR/100) 940 IFDC<>1 THEN P=F*(EXP(R)-1)/(R*EXP(R*PER)) 950 PRINT"THE PRESENT WORTH[160]IS" 960 PRINT "$";P 970 PRINT"PRESS ANY KEY TO CONTINUE" 980 GETA$:IFA$=""THEN980 990 GOTO20 1000 REM 1010 PRINT"SINKING FUND: "; 1020 IFDC=1THEN PRINTD$;"" 1030 IFDC<>1THENPRINTC$;"" 1040 INPUT"FUTURE AMOUNT ($): ";F:PRINT 1050 IFF=0THENGOTO20 1060 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 1070 INPUT"TIME PERIOD: ";PER 1080 IF DC=1 THEN A=(F*(PR)/100)/(((1+PR/100)^PER)-1) 1090 IFDC<>1 THENR=(PR/100) 1100 IFDC<>1 THEN A=(F*(PR)/100)/(EXP(R*PER)-1) 1110 PRINT"THE PAYMENTS PER PERIOD ARE" 1120 PRINT "$";A 1130 PRINT"PRESS ANY KEY TO CONTINUE" 1140 GETA$:IFA$=""THEN1140 1150 GOTO20 1160 REM 1170 PRINT"SERIES COMPOUND: "; 1180 IFDC=1THEN PRINTD$;"" 1190 IFDC<>1THENPRINTC$;"" 1200 INPUT"ANNUITY AMOUNT ($): ";A:PRINT 1210 IFA=0THENGOTO20 1220 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 1230 INPUT"TIME PERIOD: ";PER 1240 IF PR<> 0 THEN 1280 1250 PRINT"CAN'T COMPUTE: DIVISION BY ZERO" 1260 PRINT"PRESS ANY KEY TO CONTINUE" 1270 GETA$:IFA$=""THEN1270 1280 IF DC=1 THEN F=A*((1+PR/100)^PER-1)/(PR/100) 1290 IFDC<>1 THEN R=(PR/100) 1300 IFDC<>1 THEN F=A*(EXP(R*PER)-1)/R 1310 PRINT"THE FUTURE AMOUNT IS" 1320 PRINT "$";F 1330 PRINT"PRESS ANY KEY TO CONTINUE" 1340 GETA$:IFA$=""THEN1340 1350 GOTO20 1360 REM 1370 PRINT"CAPITAL RECOVERY: "; 1380 IFDC=1THEN PRINTD$;"" 1390 IFDC<>1THENPRINTC$;"" 1400 INPUT"PRESENT AMOUNT ($): ";P:PRINT 1410 IFP=0THENGOTO20 1420 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 1430 INPUT"TIME PERIOD: ";PER 1440 IF DC=1 THEN A=P*((PR/100)*(1+PR/100)^PER)/((1+PR/100)^PER-1) 1450 IFDC<>1 THEN R=(PR/100) 1460 IFDC<>1 THEN A=P*R*EXP(R*PER)/(EXP(R*PER)-1) 1470 PRINT"THE ANNUITY AMOUNT IS" 1480 PRINT "$";A 1490 PRINT"PRESS ANY KEY TO CONTINUE" 1500 GETA$:IFA$=""THEN1500 1510 GOTO20 1520 REM 1530 PRINT"SERIES PRESENT WORTH: "; 1540 IFDC=1THEN PRINTD$;"" 1550 IFDC<>1THENPRINTC$;"" 1560 INPUT"ANNUITY AMOUNT ($): ";A:PRINT 1570 IFA=0THENGOTO20 1580 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 1590 INPUT"TIME PERIOD: ";PER 1600 IF PR<> 0 THEN 1640 1610 PRINT"CAN'T COMPUTE: DIVISION BY ZERO" 1620 PRINT"PRESS ANY KEY TO CONTINUE" 1630 GETA$:IFA$=""THEN1630 1640 IF DC=1 THEN P=A*((1+PR/100)^PER-1)/(PR/100*(1+PR/100)^PER) 1650 IFDC<>1 THEN R=(PR/100) 1660 IFDC<>1 THEN P=A*(EXP(R*PER)-1)/(R*EXP(R*PER)) 1670 PRINT"THE PRESENT WORTH IS" 1680 PRINT "$";P 1690 PRINT"PRESS ANY KEY TO CONTINUE" 1700 GETA$:IFA$=""THEN1700 1710 GOTO20 1720 REM 1730 IFDC=1THEN1790 1740 PRINT"ARITHEMTIC GRADIENT CAN'T BE CALCULATED BY THIS PROGRAM "; 1750 PRINT"FOR A CONTINUOUS COMPOUNDING PERIOD." 1760 PRINT"PRESS ANY KEY TO CONTINUE" 1770 GETA$:IFA$=""THEN1770 1780 RUN 1790 PRINT"ARITHMETIC GRADIENT: "; 1800 IFDC=1THEN PRINTD$;"" 1810 INPUT"UNIFORM INCREASE ($): ";G:PRINT 1820 IFG=0THENGOTO20 1830 INPUT"INTEREST RATE PER PERIOD (%): ";PR:PRINT 1840 INPUT"TIME PERIOD: ";PER 1850 FIRST=1/(PR/100) 1860 SEC=PER/((1+PR/100)^PER-1) 1870 A=G*(FIRST-SEC) 1880 PRINT"THE ANNUITY AMOUNT IS" 1890 PRINT "$";A 1900 PRINT"PRESS ANY KEY TO CONTINUE" 1910 GETA$:IFA$=""THEN1910 1920 GOTO20 1930 REM HELP ROUTINE 1940 PRINTCHR$(147) 1950 PRINT"[159]"; 1960 PRINT" *** HELP ***" 1970 PRINT:PRINT 1980 PRINT"USE THE CURSOR UP AND DOWN KEYS TO" 1990 PRINT"HIGHLIGHT AN ITEM, AND THEN PRESS" 2000 PRINT"SPACE TO SELECT IT." 2010 PRINT:PRINT"PRESS Q TO QUIT, H FOR THIS HELP SCREEN" 2020 PRINT"OR C TO TOGGLE THE COMPOUNDING" 2030 PRINT"METHOD." 2040 PRINT:PRINT:PRINT:PRINT:PRINT"PRESS ANY KEY TO CONTINUE" 2050 GETA$:IFA$=""THEN 2050 2060 GOTO20:RETURN